// 引入readline模块，用于从命令行读取用户输入
const readline = require('readline');

// 创建readline接口实例
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.question('请输入一个包含加减乘除的四则运算表达式（如：1+2）：', (input) => {
  const expression = input.trim();

  try {
    // 使用正则表达式验证输入格式
    const isValidFormat = /^-?\d+(\.\d+)?\s*[-+*/]\s*-?\d+(\.\d+)?$/.test(expression);
    if (!isValidFormat) {
      throw new Error('输入的表达式格式不正确，请确保包含两个操作数和一个有效的操作符（+-*/）。');
    }

    // 提取操作数和操作符
    const [num1Str, operator, num2Str] = expression.split(/\s+/);

    const num1 = parseFloat(num1Str);
    const num2 = parseFloat(num2Str);

    // 验证操作数是否为数字
    if (isNaN(num1) || isNaN(num2)) {
      throw new Error('输入的操作数不是有效数字。');
    }

    let result;
    switch (operator) {
      case '+':
        result = num1 + num2;
        break;
      case '-':
        result = num1 - num2;
        break;
      case '*':
        result = num1 * num2;
        break;
      case '/':
        if (num2 === 0) {
          throw new Error('除数不能为零。');
        }
        result = num1 / num2;
        break;
      default:
        throw new Error('输入的操作符无效。');
    }

    console.log(`结果：${result}`);
  } catch (error) {
    console.error('发生错误:', error.message);
  } finally {
    rl.close();
  }
});